import { SpecialModel } from '../../models/special.js'
const ModeSpecial = new SpecialModel()
import { AppModel } from '../../models/app.js'
const ModelApp = new AppModel()
const App = getApp()
Page({
  data: {
    isLogined: true,
    scode: '',
    bossid: '',
    specialInfo: null, // 专场信息
    goodsList: [], // 商品列表
    pageList: [], // 热点图
    pageIndex: 1,
    pageSize: 20,
    loading: false,
    hasNext: true,
    empty: false,
    iphoneX: App.globalData.isIphoneX,
    showShare: false, // 分享
    shareData: {}, // 分享数据
    bindPhoneVisible: false, //显示绑定手机
    statusBarHeight: App.globalData.statusBarHeight,
    isTabbar: false,
    navigationBarTitle: '',
    ready: false
  },
  onLoad: function(options) {
    console.log('trailer onLoad=', options)
    // 扫码二维码进入 encodeURIComponent
    if (options.scene) {
      let scene = decodeURIComponent(options.scene)
      //&是我们定义的参数链接方式
      this.data.bossid = scene.split('&')[0]
      this.data.scode = scene.split('&')[1]
    } else {
      // 好友链接或上个页面进入
      this.data.bossid = options.bossid // 分享人id
      this.data.scode = options.scode // 专场编码
    }
    // 存储bossid
    wx.setStorageSync('bossid', this.data.bossid)
    // 隐藏右上角分享功能
    wx.hideShareMenu()
  },
  onShow: function() {
    // 初始化
    this.init()
  },
  // 用户登录
  init() {
    const _this = this
    App.getVipInfo(function(userInfo) {
      if (!userInfo) {
        console.log('没有token,获取用户信息失败')
        _this.setData({
          isLogined: false
        })
        // 有用户信息了可以正常请求数据
      } else {
        // 获取是否可以进入预告详情
        _this.getPreAuth()
        //获取上一页
        _this.getPrePage();
      }
    })
  },
  // 登陆成功，由login组件触发
  loginSuccess() {
    this.setData({
      isLogined: true
    })
    // 获取是否可以进入预告详情
    this.getPreAuth()
    //获取上一页
    this.getPrePage();
  },
  // 获取预告是否开启
  getPreAuth() {
    ModeSpecial.preSpecialAuth({ specialCode: this.data.scode }).then(res => {
      // 如果活动不是预告中
      if (!res.data.specialInfo || res.data.specialInfo.status != 0) {
        wx.redirectTo({
          url: `/pages/activity/index?scode=${this.data.scode}`
        })
      } else {
        // 预告是否开启
        if (res.data.specialInfo.specialOpen == 0) {
          wx.redirectTo({
            url: '/pages/home/index'
          })
        } else {
          // 请求预告信息
          this.loadMore(true)
        }
      }
    })
  },
  //检测上一页
  getPrePage(){
    const that = this;
    const pages = getCurrentPages();
    // const currPage = pages[pages.length - 1]; //当前页面
    // const prevPage = pages[pages.length - 2]; //上一个页面
    if(pages.length == 1){
      that.setData({
        isTabbar:true
      })
    }
  },
  // 专场预告详情
  // getPreSpecial() {
  //   const params = {
  //     specialCode: this.data.scode,
  //     pageIndex: this.data.pageIndex,
  //     pageSize: this.data.pageSize
  //   }
  //   const self = this
  //   // 获取专场
  //   ModeSpecial.getPreSpecial(params)
  //     .then(res => {
  //       if (res.data.goodsList.length == 0) {
  //         self.data.empty = true
  //       } else {
  //         self.data.empty = false
  //       }
  //       self.setData({
  //         empty: self.data.empty,
  //         goodsList: res.data.goodsList,
  //         pageList: res.data.pageList,
  //         hasNext: res.data.hasNext,
  //         specialInfo: res.data.specialInfo,
  //         navigationBarTitle: res.data.specialInfo.specialName
  //       })
  //       wx.stopPullDownRefresh()
  //     })
  //     .catch(err => {
  //       if (err.status == 400068) {
  //         self.setData({
  //           activityEnd: true
  //         })
  //       }
  //     })
  // },
  //加载更多
  loadMore(reload) {
    if (reload) {
      this.setData({
        pageIndex: 1,
        hasNext: true
      })
    }
    if (this.data.loading || !this.data.hasNext) {
      return
    }
    this.setData({
      loading: true
    })
    const params = {
      specialCode: this.data.scode,
      pageIndex: this.data.pageIndex,
      pageSize: this.data.pageSize
    }
    ModeSpecial.getPreSpecial(params)
      .then(res => {
        // 第一次请求/重新请求
        if (reload) {
          this.setData({
            pageList: res.data.pageList,
            specialInfo: res.data.specialInfo,
            navigationBarTitle: res.data.specialInfo.specialName,
            goodsList: []
          })
        }
        const tempArray = this.data.goodsList.concat(res.data.goodsList)
        this.setData({
          goodsList: tempArray,
          hasNext: res.data.hasNext,
          loading: false,
          ready: true
        })
        wx.stopPullDownRefresh()
      })
      .catch(err => {
        this.setData({
          loading: false
        })
      })
  },
  // 访问转发数量接口
  setShareNum(id) {
    ModelApp.addShare({
      specialId: id
    })
      .then(res => {})
      .catch()
  },
  // 点击转发预告专场
  showShare() {
    const shareInfo = this.data.specialInfo
    // 访问转发数量接口
    this.setShareNum(shareInfo.id)
    this.setData({
      showShare: true,
      shareData: {
        specialCode: shareInfo.specialCode,
        shareTitle: shareInfo.specialName,
        mainImg: shareInfo.mainImg,
        shareImg: shareInfo.shareImg,
        startDate: shareInfo.startDate,
        endDate: shareInfo.endDate,
        sharePath: `/pages/trailer/index?bossid=${App.globalData.userInfo
          .userCode}&scode=${shareInfo.specialCode}`
      }
    })
  },
  //回到首页
  backHome() {
    wx.reLaunch({
      url: '/pages/home/index'
    })
  },
  // 微信到底
  onReachBottom: function() {
    this.data.pageIndex = this.data.pageIndex + 1
    this.loadMore()
  },
  /*转发*/
  onShareAppMessage: function(ops) {
    // 转发只能通过右上角转发
    const ucode = App.globalData.userInfo.userCode
   // const ucode = wx.getStorageSync('ucode')
    const shareInfo = this.data.specialInfo
    // 转发活动编码用户编码
    const path = `/pages/trailer/index?bossid=${ucode}&scode=${shareInfo.specialCode}`
    return {
      title: shareInfo.specialName,
      path: path,
      imageUrl: shareInfo.shareImg,
      success: function(res) {
        // 转发成功
        console.log('转发成功:' + JSON.stringify(res))
      },
      fail: function(res) {
        // 转发失败
        console.log('转发失败:' + JSON.stringify(res))
      }
    }
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {
    // 获取详情
    this.setData({
      pageIndex: 1,
      pageSize: 20
    })
    this.getPreAuth()
  },
  //专场订阅
  trailerActivity() {
    //判断是否绑定手机号
    const self = this
    const userInfo = App.globalData.userInfo
    if (!userInfo.userPhone || userInfo.userPhone == 0) {
      //未绑定手机号，弹出授权提示
      self.setData({
        bindPhoneVisible: true
      })
    } else {
      //已绑定手机号
      const params = {
        specialId: self.data.specialInfo.id
      }
      ModelApp.selectAppointment(params)
        .then(res => {
          self.data.specialInfo.specialStatus = 1
          self.setData({
            specialInfo: self.data.specialInfo
          })
          App.WxService.showToast({
            title: '预约成功',
            icon: 'none'
          })
        })
        .catch()
    }
  },
  //去朋友圈素材页面
  goToMaterail() {
    wx.navigateTo({
      url:
        '/pages/activity/material/index?specialId=' + this.data.specialInfo.id
    })
  }
})
